package com.gzsxy.sso.core.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gzsxy.sso.common.dto.request.RoleRequest;
import com.gzsxy.sso.common.dto.response.MenuRsp;
import com.gzsxy.sso.common.dto.response.RoleFunctionRsp;
import com.gzsxy.sso.core.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gzsxy.sso.core.entity.vo.RoleQueryVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zxl
 * @since 2021-11-10
 */
public interface RoleService extends IService<Role> {






    /**
     * @description: 查询所有的角色
     * @param
     * @return
     */
    List<Role> getAllRoles();

    /**
     * @description: 查询角色下所有功能列表
     * @param
     * @return
     */
    List<RoleFunctionRsp> findFunctionByRoles();


    /**
     * @description: 添加角色
     * @param
     * @return
     */
    void addRole(RoleRequest roleRequest);

    /**
     * @description: 角色分页查询
     * @param
     * @return
     */
    IPage<RoleFunctionRsp> selectPage(IPage<?> pageParam, RoleQueryVo roleQueryVo);

    /**
     * @description: 修改角色
     * @param
     * @return
     */
    void updateRole(RoleRequest roleRequest);

    /**
     * @description: 删除角色
     * @param
     * @return
     */
    void deleteRole(String id);

    /**
     * @description: 通过id查询角色
     * @param
     * @return
     */
    Role selectById(String roleId);
}
